package com.ruoyi.jx.service;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.jx.domain.Member;

/**
 * 会员管理Service接口
 * 
 * @author p
 * @date 2021-10-07
 */
public interface IMemberService 
{
    /**
     * 查询会员管理
     * 
     * @param id 会员管理ID
     * @return 会员管理
     */
    public Member selectMemberById(Long id);

    /**
     * 查询会员管理列表
     * 
     * @param member 会员管理
     * @return 会员管理集合
     */
    public List<Member> selectMemberList(Member member);

    /**
     * 新增会员管理
     * 
     * @param member 会员管理
     * @return 结果
     */
    public int insertMember(Member member);

    /**
     * 修改会员管理
     * 
     * @param member 会员管理
     * @return 结果
     */
    public int updateMember(Member member);

    /**
     * 批量删除会员管理
     * 
     * @param ids 需要删除的会员管理ID
     * @return 结果
     */
    public int deleteMemberByIds(Long[] ids);

    /**
     * 删除会员管理信息
     * 
     * @param id 会员管理ID
     * @return 结果
     */
    public int deleteMemberById(Long id);

    /**
     * 修改会员的 余额 (  充值/抵扣
     * @param params
     * @return
     */
    AjaxResult updateMemeberBalance(Map<String,Object> params);


    /**
     * 添加 余额
     * @param money
     * @param oldMoney
     * @return
     */
    int addMemeberBalance(Long id, BigDecimal money, BigDecimal oldMoney);

    /**
     * 抵扣 余额
     * @param money
     * @param oldMoney
     * @return
     */
    int subMemeberBalance(Long id, BigDecimal money, BigDecimal oldMoney);



}
